package com.itheima.reggie.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.itheima.reggie.dto.DishDto;
import com.itheima.reggie.entity.Dish;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

/**
 * @author DL5O
 * @version 1.0
 */
public interface DishService extends IService<Dish> {
    /**
     * 获取菜品分页信息
     * @param page
     * @param pageSize
     * @param name
     * @return
     */
    public Page<DishDto> getPage(Integer page, Integer pageSize,String name);

    /**
     * 根据分类id和状态获取对应的菜品信息
     * @param dish
     * @return
     */
    public List<DishDto> getList(Dish dish);

    /**
     * 新增菜品，并插入菜品对应的口味数据，需要操作两张表：dish，dish_flavor
     * @param dishDto
     */
    public void saveWithFlavor(DishDto dishDto);

    /**
     * 修改菜品
     * @param dishDto
     * @return
     */
    public void updateWithFlavor(DishDto dishDto);

    /**
     * 获得dishDto对象，用于修改菜品信息时数据的回显
     * @param id 菜品的id
     * @return
     */
    public DishDto getDishDtoById(Long id);


    /**
     * 起售停售---批量起售停售接口
     * @param status
     * @param ids
     */
    public void updateStatus(Integer status, List<Long> ids);

    /**
     * 删除/批量删除
     * @param ids
     */
    public void removeWithFlavor(List<Long> ids);
}
